Why Boolean Arguments Should Be Avoided - Robert C. Martin